home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1984-04-24 | 2.8 KB | 114 lines |
- 10 GOTO 1030
- 20 RANDOMIZE VAL(RIGHT$(TIME$,2))
- 30 REM BOXFIRE GAME 'uploaded to CPCUG SOFTSIG 7-3-83 BOXFIRE.BAS
- 40 REM WRITTEN BY BRAD AND BRIAN SACHAR
- 50 REM PHONE 871-8737
- 55 REM UPDATED FOR 80 COLUMN BY RICH BONAHUE 7-16-83 AS BXFIRE80.BAS
- 60 DEF SEG=&H40:POKE &H17,&H20
- 70 CLEAR:RE=100
- 80 COLOR 7:CLS
- 90 WIDTH 80
- 100 KEY OFF
- 110 SCREEN 0:LOCATE 1,1,0
- 120 FOR I=1 TO 80:LOCATE 1,I:PRINT CHR$(219);:NEXT
- 130 FOR I=1 TO 23:LOCATE I,80:PRINT CHR$(219);:NEXT
- 140 FOR I=1 TO 80:LOCATE 23,I:PRINT CHR$(219);:NEXT
- 150 FOR I=1 TO 23:LOCATE I,1:PRINT CHR$(219);:NEXT
- 160 LOCATE 10,38:PRINT CHR$(218)+CHR$(196)+CHR$(223)+CHR$(223)+CHR$(196)+CHR$(191);
- 170 LOCATE 11,38:PRINT CHR$(221)+" "+CHR$(222);
- 180 LOCATE 12,38:PRINT CHR$(192)+CHR$(196)+CHR$(220)++CHR$(220)+CHR$(196)+CHR$(217);
- 190 A$=CHR$(24):B$=CHR$(25):C$=CHR$(27):D$=CHR$(26):S$="*":M=2:M1=1
- 200 Y$=INKEY$:GSW=GSW+1:IF GSW/4=INT(GSW/4) THEN RE=RE-2:IF RE=<-1 THEN M=M+2:M1=M1+1:RE=40
- 210 LOCATE 3,50:PRINT "SCORE = ";SC;
- 220 FOR KL=1 TO RE:NEXT KL:LOCATE 1,56
- 230 IF Y$="8" THEN SOUND 500,0.1:GOTO 280
- 240 IF Y$="2" THEN SOUND 600,0.1:GOTO 370
- 250 IF Y$="4" THEN SOUND 700,0.1:GOTO 460
- 260 IF Y$="6" THEN SOUND 800,0.1:GOTO 550
- 270 GOTO 650
- 280 FOR I=9 TO 2 STEP -1
- 290 IF P=1 AND I<=L THEN P=0:L=0:Y=0:SC=SC+1:X=INT(RND*4)+1:GOTO 330
- 300 LOCATE I,41:PRINT A$;
- 310 SQW=1:Y=1:GOSUB 650
- 320 NEXT
- 330 FOR I=9 TO 2 STEP -1
- 340 LOCATE I,41:PRINT " ";
- 350 NEXT
- 360 GOTO 650
- 370 FOR I=13 TO 22
- 380 IF P=2 AND I>=L THEN P=0:SC=SC+1:L=0:Y=0:X=INT(RND*4)+1:GOTO 420
- 390 LOCATE I,41:PRINT B$;
- 400 SQW=1:Y=2:GOSUB 650
- 410 NEXT
- 420 FOR I=13 TO 22
- 430 LOCATE I,41:PRINT " ";
- 440 NEXT
- 450 GOTO 650
- 460 FOR I=37 TO 2 STEP -1
- 470 IF P=3 AND I<=L THEN P=0:SC=SC+1:L=0:Y=0:X=INT(RND*4)+1:GOTO 510
- 480 LOCATE 11,I:PRINT C$;
- 490 SQW=1:Y=3:GOSUB 650
- 500 NEXT
- 510 FOR I=37 TO 2 STEP -1
- 520 LOCATE 11,I:PRINT " ";
- 530 NEXT
- 540 GOTO 650
- 550 FOR I=44 TO 79
- 560 IF P=4 AND I>=L THEN P=0:L=0:SC=SC+1:Y=0:X=INT(RND*4)+1:GOTO 600
- 570 LOCATE 11,I:PRINT D$;
- 580 SQW=1:Y=4:GOSUB 650
- 590 NEXT
- 600 FOR I=44 TO 79
- 610 LOCATE 11,I:PRINT" ";
- 620 NEXT
- 630 GOTO 650
- 640 REM SECOND LOOP ***************
- 650 ON X GOTO 660,720,780,840
- 660 IF L=0 THEN L=M1'UP BADGUY
- 670 L=L+1:P=1
- 680 IF L>9 THEN 900
- 690 LOCATE L,41:PRINT S$;
- 700 IF Y=1 THEN SQW=0:RETURN ELSE IF SQW=1 THEN SQW=0:RETURN 710
- 710 GOTO 200
- 720 IF L=0 THEN L=24-M1'DOWN BADGUY
- 730 L=L-1:P=2
- 740 IF L<13 THEN 900
- 750 LOCATE L,41:PRINT S$;
- 760 IF Y=2 THEN SQW=0:RETURN ELSE IF SQW=1 THEN SQW=0:RETURN 770
- 770 GOTO 200
- 780 IF L=0 THEN L=M-1'LEFT BADGUY
- 790 L=L+2:P=3
- 800 IF L>37 THEN 900
- 810 LOCATE 11,L:PRINT S$;
- 820 IF Y=3 THEN SQW=0:RETURN ELSE IF SQW=1 THEN SQW=0:RETURN 830
- 830 GOTO 200
- 840 IF L=0 THEN L=79-M'RIGHT BADGUY
- 850 L=L-2:P=4
- 860 IF L<44 THEN 900
- 870 LOCATE 11,L:PRINT S$;
- 880 IF Y=4 THEN SQW=0:RETURN ELSE IF SQW=1 THEN SQW=0:RETURN 890
- 890 GOTO 200
- 900 CLS
- 910 WIDTH 80
- 920 FOR I=1 TO 50
- 930 A=(RND*30)+37
- 940 SOUND A,0.01
- 950 COLOR 0,7:CLS
- 960 COLOR 7:CLS
- 970 NEXT
- 980 SOUND 40,0
- 990 WIDTH 80
- 1000 COLOR 7:CLS:LOCATE 11,19:PRINT "SCORE = ";SC:INPUT "PLAY AGAIN (Y/N)";A$
- 1010 IF A$<>"Y" AND A$<>"y" AND A$<>"N" AND A$<>"n" THEN 1000
- 1020 IF A$="Y" OR A$="y" THEN GOTO 20 ELSE KEY ON:CHAIN "MENU"
- 1030 CLS:PRINT "YOU ARE THE BOX IN THE MIDDLE OF THE SCREEN"
- 1040 PRINT "YOU HAVE FOUR LASER GUNS ..... "
- 1050 PRINT "THE CURSOR KEYPAD KEYS CONTROL THE GUNS"
- 1060 PRINT "`8' FIRES UP"
- 1070 PRINT "`2' FIRES DOWN"
- 1080 PRINT "`4' FIRES LEFT"
- 1090 PRINT "`6' FIRES RIGHT"
- 1100 PRINT "ENEMIES WILL TRY TO REACH THE BOX ... YOU MUST STOP THEM!!"
- 1110 PRINT "PRESS ANY KEY TO CONTINUE"
- 1120 IF INKEY$<>"" THEN GOTO 20 ELSE 1120
-